$(function () {
    function init() {
        $.ajax({
            url: bignews.category_list,
            headers: { Authorization: localStorage.getItem('bignews_69_token') },
            success: function (res) {
                console.log(res)
                let html = template('catetemp', res)
                $('tbody').html(html)
                // 也可以简写成
                // $('tbody').html(template('catetemp', res))

                // console.log(2.后面的业务)
            },
            dataType: 'json'
        })
    }
    init()

    // 把代码进行封装
    var cateOpt = function (url, data) {
        $.ajax({
            type: 'post',
            url,
            data,
            headers: { Authorization: localStorage.getItem('bignews_69_token') },
            dataType: 'json',
            success: function (res) {
                console.log(res)
                alert(res.msg)
                // 模态框隐藏
                $('#cateModal').modal('hide')
                // 页面列表刷新
                init()
                // 新增完成后清除输入记录
                $('#cateName').val('')
                $('#cateSlug').val('')
            },
            // 实现验证
            error: function (err) {
                console.log(err)
                if (err.status == 400 || err.status == 500) {
                    alert('添加失败,请不要添加重复值')
                }
                // // 模态框隐藏
                $('#cateModal').modal('hide')
                // 新增完成后清除输入记录
                $('#cateName').val('')
                $('#cateSlug').val('')
            }
        })
    }

    // 定义一个变量,用于储存当前编辑时分类数据的id
    let id

    // 实现文章分类的新增
    $('.btnOpt').on('click', function () {
        // console.log(123)
        let name = $('#cateName').val()
        let slug = $('#cateSlug').val()


        // 实现验证
        if ($('.btnOpt').text() == '新增') {
            cateOpt(bignews.category_add, { name, slug })
        } else {
            cateOpt(bignews.category_edit, { name, slug, id })
        }
    })

    // 实现分类数据删除业务
    // $('btnDel').on('click', function () {
    $('tbody').on('click', '.btnDel', function () {
        if (confirm('是否真的要删除这条数据')) {
            console.log(1)
            // console.log(2.后面的业务)
            // 单击按钮,获取这个按钮之前储存的自定义属性id
            // let id = $(this).data().id
            let id = $(this).data('id')
            console.log(id)
            $.ajax({
                type: 'post',
                url: bignews.category_delete,
                headers: { Authorization: localStorage.getItem('bignews_69_token') },
                data: { id },
                dataType: 'json',
                success: function (res) {
                    console.log(res)
                    // 提示
                    alert(res.msg)
                    // 页面列表刷新
                    init()

                }
            })
        }
    })

    // 点击列表中的编辑按钮:仅仅是弹出模态框,并填充默认数据等相关操作
    $('tbody').on('click', '.btnEdit', function () {
        // console.log(11)
        // 弹出模态框
        $('#cateModal').modal('show')
        // 修改模态框文本内容
        $('.modal-title').text('编辑分类')
        $('.btnOpt').text('编辑')

        // 实现分类数据的默认填充
        let data = $(this).data()
        // 获取id值
        id = data.id
        // console.log(id)

        $('#cateName').val(data.name)
        $('#cateSlug').val(data.slug)
    })

    // 点击新增分类按钮:弹出模态框,重置相关内容
    $('.btnAddCate').on('click', function () {
        // console.log(11)
        // 弹出模态框
        $('#cateModal').modal('show')
        // 修改模态框文本内容
        $('.modal-title').text('新增分类')
        $('.btnOpt').text('新增')
        $('#cateName').val('')
        $('#cateSlug').val('')
    })
})